home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol001 / descript.ion < prev    next >
Encoding:
Text File  |  1987-01-11  |  26.8 KB  |  419 lines

  1. *******************************************************************************
  2.  
  3.  
  4.          IBM ASYNCHRONOUS COMMUNICATIONS SUPPORT PROGRAM MODIFICATIONS
  5.                              BY ROBERT C. RICE
  6.  
  7.                             PROGRAM DESCRIPTION
  8.  
  9. *******************************************************************************
  10.  
  11.  
  12. The IBM Asynchronous Communication Support Program provides software needed
  13. to allow the Personal Computer to communicate with a wide variety of computer
  14. systems including several IBM mainframe computers.  While emphasizing great
  15. flexability in communications and providing a protocol for file transfer be-
  16. tween Personal Computers, the Asynchronous Communications Support Program
  17. lacks a number of features required by the average user.  Uploading and Down-
  18. loading files to and from commercial computer networks such as the SOURCE
  19. and CompuServe is an example.  Additionally, the user must be technically
  20. competent in communications protocol to be able to properly set selectable
  21. parameters provided through various menus.  User friendly design has been
  22. substantially ignored.  Also, a programming error prevents proper use of the
  23. backspace key.
  24.  
  25. This Program Description provides information about changes that I have made
  26. to my version of the IBM Asynchronous Communications Support Program, correct-
  27. ing errors, providing enhancements, improving user friendliness, and eliminat-
  28. ing unnecessary entries.  The following is an overview of the enhancement
  29. program.  Each feature will be discussed in detail later in this paper.
  30.  
  31. 1. A 64K version named SHORTERM.BAS, and a 96K version named LONGTERM.BAS.
  32. 2. Correction of the backspace problem.
  33. 3. Elimination of width question, automatic selection of screen width and an
  34.    option to bypass all intermediate menus, going directly into full duplex
  35.    operation.
  36. 4. Additional preselected parameters for Display Selection and Dialing Option
  37.    for the Hayes Smartmodem.(Use of displays and Autodial modem is optional.)
  38. 5. Addition of "terminal type" for "Starting as" or "Returning as"
  39.    printouts to eliminate any question as to what terminal was selected.
  40. 6. Download capability, including error trapping, file directory printout,
  41.    On/Off switching of data recording for open files, and status indicator.
  42. 7. Upload capability, including error trapping, file directory printout,
  43.    On/Off switching, status indication.
  44. 8. Time/Date/Status line. The right side of line 25 used to display time, date
  45.    (if entered), Hex Listing, Printer, Upload, and Download status symbol
  46.    display while operating as a terminal.
  47. 9. Extended use of function keys including F5 to call up Function Key help
  48.    menu. F7 to turn printer On/Off. F8 for Telephone/LOG-ON menu and functions.
  49.    F9, an Upload On/Off switch. F10, a Download On/Off switch. Also use of
  50.    ALT P to print maximum receive buffer used. ALT H to display Telephone/LOG-
  51.    ON help menu. And in the 96K version ALT S for Half Duplex force to SENDING
  52.    state.
  53. 10.Telephone/LOG-ON menu and function.  Designed primarily for, but not
  54.    limited to use with the Hayes Smartmodem.  Selected numbers are automa-
  55.    tically dialed, and all LOG-ON entries are made using the F8 key.
  56. 11.When XON/XOFF supported the automatic suspension of input when F2 function
  57.    selection menu is entered by sending XOFF and when returning to terminal
  58.    operation, automatic resumption of transmission by sending XON.
  59. 12.Automatic enabling of error messages upon terminal startup and elimination
  60.    of input parity detection to eliminate unnecessary and excessive error mes-
  61.    sages.
  62. 13.Error trapping routines supported in many, but not all areas for printer
  63.    applications.
  64. 14.Use of F5 function key when returning from BASIC. (Function menu item#3)
  65.    instead of having to type continue.
  66. 15.Two new function selections to exit the Communications Program, including
  67.    warning messages with verification of program termination.  The exit
  68.    routines also including "COM1:" close-out to prevent program hangup.
  69. 16.Changes to preset terminal parameters, facilitating program initialization
  70.    in full duplex mode and the bypassing of intermediate menus.
  71.  
  72. I must acknowledge the assistance of Morris E. Thompson of Dallas, Texas
  73. in this effort, since he supplied the final versions of the backspace fix and
  74. the original versions of the Upload/Download that are contained in the follow-
  75. ing program.  I must also acknowledge the fine people connected to the SOURCE
  76. and John Lamond, a SOURCE representative, for giving me needed information
  77. which I used to develop this program.
  78.  
  79. There are four documents which support these program modifications.  First,
  80. this paper describes the functional changes that were made to the program
  81. and provides a reference document for program operation.  Second, Program
  82. Notes have been provided to assist you in understanding the changes and so that
  83. you may properly adapt the program for your use.  Third, there is a Tutor-
  84. ial, showing you how to use the program. Fourth, the actual program which
  85. you will use to modify the original IBM program.  The Functional Description
  86. is as follows:
  87.  
  88. 1) There are two versions of the program modifications.  The first is a 64K
  89.    version designed to fit into the same amount of memory as was required
  90.    for the original program. This version has the VM370, TSO, and Half Duplex
  91.    support removed so that other more useful program features could be incor-
  92.    porated.  This version also requires changes to the AUTOEXEC.BAT file
  93.    which is executed when you load the diskette.  Since BASIC does not use a
  94.    random file, or its own communications buffer, additional memory is freed
  95.    by setting the random file buffer and communications buffer to a minimum
  96.    setting. This change must be made, otherwise an OUT OF MEMORY error will
  97.    occur. A 96KB version is also provided so that users with the proper amount
  98.    memory will have all capabilities from the original program included as
  99.    well as all of the program enhancements.  This is done by relocating the
  100.    machine code RS232 interrupt handler into the memory segment above the
  101.    64K used by BASIC.
  102.  
  103. 2) The original IBM program did not properly backspace when the backspace
  104.    key was depressed.  A fix was provided which corrects the problem and
  105.    allows for full utilization of the backspace key.
  106.  
  107. 3) Each time the program was loaded or the "Return to terminal Selection" was
  108.    invoked from the function menu, the question was asked whether you wanted
  109.    40 or 80 character screen width.  This is a determination that should be
  110.    made once when you first use the program but not each time. This modifi-
  111.    cation allows you to adapt a 40 or 80 character screen width for color
  112.    video monitors when you get the program, then after the screen width is
  113.    automatically set depending upon whether the monochrome display or the
  114.    color graphics adapter is being used.  In place of the question about width
  115.    is the question "Bypass intermeditate menus (y/n)?".  Parameters have been
  116.    preselected in this program for proper use with the SOURCE and other like
  117.    computer networks.  It is therefore unnecessary to go through a terminal
  118.    selection every time you use the program.  Answering "Y" or yes to this
  119.    question will allow you to go directly into operation as a full duplex
  120.    terminal.  This value may be adapted to other terminal selections so that
  121.    users with special applications may also avoid having to go through the
  122.    selection menu except on special occaisions.  Answering "N" or no to the
  123.    question will allow you to go through the terminal selection menu as the
  124.    original program does now.  For people with varied applications, I suggest
  125.    that you make several copies of the program, each with a preset terminal
  126.    configuration, this way you may also avoid all the terminal selections
  127.    each time you use a different application.  (preset values are fully des-
  128.    cribed in the Programming Notes section.)  When screen width is determined
  129.    the program title lines are properly centered on the screen regardless of
  130.    width setting.  The program title has also been changed to indicate the
  131.    program version, and acknowledge contributers.
  132.  
  133. 4) Two additional parameter values have been added to the program. First, the
  134.    addition of a "Modem dialup Option" was added for users of the Hayes Smart-
  135.    modem.  You may select use of either touchtone or pulse dialing.  The pro-
  136.    gram is preset to touchtone and may be preset at pulse for startup.  (See
  137.    programming notes).  Also, a parameter has been added which allows you
  138.    to select the type of display, the monochrome or color video monitor. This
  139.    is intended for users with both displays connected at the same time, allow-
  140.    ing change from one monitor to the other during terminal operation.  This
  141.    does not affect which display will be used at program startup. The display
  142.    used at startup is determined by the selected switches on the system board.
  143.    Those of you who will not utilized the features just mentioned, need not
  144.    make any changes to the program.
  145.  
  146. 5) The original IBM program displayed "You are Starting up as a Terminal" when
  147.    you entered the terminal operation mode from the terminal selection menu,
  148.    and displayed "You are back as a Terminal" when returning from the function
  149.    selection menu.  Since this program modification bypasses terminal selec-
  150.    tion, a feature has been added telling you what kind of terminal you are
  151.    are using.  For example, "Starting as a Full Duplex Terminal" or "Starting
  152.    as a PC Computer Terminal".  This is true for the "Back as" statement also.
  153.  
  154. 6) Download/Upload capabilities have been provided for use in Full Duplex and
  155.    Personal Computer operation.  This section describes Download, and item 7
  156.    describes Upload.  The original program for these capabilities was sup-
  157.    plied by Morris Thompson, Dallas, Texas.  I have made further changes and
  158.    improvements.  The Download capability allows you to store all incomming
  159.    data on diskette. This function is selected from terminal operation by
  160.    depressing F2. Selection of item 4 then allows you to designate a local
  161.    file name for input of data. An option has been provided to printout a file
  162.    directory of either or both disk drives before naming the input file. Also,
  163.    the opened file will append the data to any existing file, rather than
  164.    erasing the data if you name an existing file by mistake. Error trapping is
  165.    provided during the file directory printout, and program operation to pre-
  166.    vent a program stop. (A Download file is called "Log File" in the program.)
  167.    A status symbol is provided on the last display line(25). When a "log file"
  168.    is open, an "L" is present in the status line.  If data is being recorded
  169.    on the log file, then the "L" increases in intensity and flashes. When the
  170.    log file is closed, the "L" disappears. More information on the status line
  171.    is provided in item 8.
  172.  
  173.    Once a log file has been opened, it will begin recording data as soon as
  174.    you return to terminal operation.  Recording in the "Log File" may be sus-
  175.    pended by utilizing the F10 key.  The flashing "L" on the status line will
  176.    stop flashing, but will be present until the  log file is closed.  Record-
  177.    ing data on the log file resumes when the F10 key is again depressed. The
  178.    status symbol "L" again intensifies and flashes, indicating that recording
  179.    has resumed. (There may be a slight delay from the time a function key is
  180.    depressed and when the status symbol appears on line 25.)
  181.  
  182.    Log files may be closed or redesignated by depressing F2, and menu item #4.
  183.    A new log file may then be designated.
  184.  
  185.    Files which have been created by the download may be viewed after program
  186.    use through functions in DOS or EDLIN.  Text may not be loaded into the
  187.    computer unless it is in program format, each line beginning with a number.
  188.    Programs may be viewed by loading them, and then using the BASIC list com-
  189.    mand.  Other text may be viewed on the screen using the DOS TYPE command
  190.    or copied to the printer using the DOS COPY command. EDLIN may be used to
  191.    edit the received data or just to view it using the List command.
  192.  
  193.    Program files which have been received via download are in ASC II format.
  194.    Normal storage for BASIC programs is in a compressed binary format.  Pro-
  195.    grams stored in ASC format take up more room on the disk and take longer
  196.    to load.  I suggest loading the received program and then using the BASIC
  197.    "save" command without the ",a" option to store the program in binary for-
  198.    mat for normal usage.
  199.  
  200. 7) Upload provides the capability to transmit ASC II files stored on disk
  201.    to another computer system while operating in Full Duplex or Personal
  202.    Computer mode.  This function is selected from terminal operation by dep-
  203.    ressing F2.  Selection of item 5 then allows you to designate the local
  204.    file that is to be uploaded.  An option has been provided to printout a file
  205.    directory of either or both disk drives before naming the output file.
  206.    A status symbol is provided on the last display line(25).  When an Upload
  207.    file is open, a "U" is displayed while in terminal operation.  After making
  208.    the proper entries on the Host system (the SOURCE for example) to open
  209.    a MAIL, POST, or other file, F9 is used to begin file transfer.  The status
  210.    symbol will brighten and flash, indicating the file transfer is in pro-
  211.    gress.  The Upload may be suspended at any time by again depressing F9.
  212.    The status symbol will again stop flashing.(A slight delay may be noticed
  213.    between the time a Function Key is depress, and the resulting display on
  214.    line 25.)  The Upload, if left to continue, will proceed until all data
  215.    has been transfered, then the "U" will disappear from the status line and
  216.    a message will appear in the error message area indicating "Upload complete,
  217.    File Closed".  Error messages may be displayed by depressing F3.
  218.  
  219.    Upload files may be closed or redesignated by selecting F2, then menu item
  220.    #5.  Opening a new file for Upload may then be accomplished.
  221.  
  222.    Upload files may be text files created using EDLIN or word processing soft-
  223.    ware utilizing DOS formatted diskettes.  EasyWriter V1.00 files may not be
  224.    transferred.  Programs which have been created and stored in ASC II format
  225.    may also be Uploaded.  (To save a BASIC program in ASC format, utilize the
  226.    "SAVE" with the ",a" option, or List ,"filename".)
  227.  
  228.    A word of caution must be given here.  When creating text files for Upload
  229.    to the SOURCE, whenever two carriage returns are present in a file without
  230.    a character between them, the SOURCE computer will exit the file program
  231.    and return to command level.  You may avoid this by placing two spaces on
  232.    blank lines, such as occur between paragraphs. (This does not occur in the
  233.    mail files, since exit is accomplished with "Dot Commands".)
  234.  
  235. 8) Line 25 of the display is normally reserved for soft keys and in certain
  236.    applications, may be used to display special messages that do not get
  237.    scrolled along with the rest of the screen.  The original Async. program
  238.    utilizes line 25 to display error messages on the left side of line 25,
  239.    while the right side is only used under certain circumstances.  For example
  240.    during Personal Computer file transfer, the send or receive state is dis-
  241.    played along with the current line number of the file being transferred.
  242.    In half duplex mode, that area is used to designate whether in SENDING or
  243.    RECEIVING state.  This program utilizes the right half of line 25 to dis-
  244.    play status symbols, time of day, and date, except when time and date have
  245.    not been entered at program startup, or when other program functions are
  246.    utilizing the area as described above.  Entry of time and date at program
  247.    startup requires a change to the AUTOEXEC.BAT file as well as copying the
  248.    TIME.COM program from a DOS diskette to the Async. program diskette.
  249.  
  250.    Status symbols appear on line 25 (right half) as follows: An "H" will
  251.    appear when the Hex Listing function is active. (Hex listing activated by
  252.    depressing F6. The Hex listing function provides a hexadecimal value on the
  253.    screen in addition to its character representation.)  A "P" will appear
  254.    when the Printer function is on. (F7 is the Print function On/Off switch.)
  255.    A "U" will appear when an upload file is open.  The "U" will brighten and
  256.    flash when an Upload is in progress.  An "L" will appear when a Download
  257.    (or Log) file is open.  The "L" will brighten and flash when a Download is
  258.    in progress.
  259.  
  260.    Additionally, "F5=HELP" is displayed on the status line.
  261.  
  262.    For color televisions, or any screen utilizing a 40 character width, the
  263.    status line will appear on line 25, and error messages will appear on line
  264.    24.  The "*" indicating an error message is awaiting display, shall con-
  265.    tinue to be displayed in the first character position of line 25.
  266.  
  267. 9) Additional function keys have been utilized in this program as well as
  268.    ALT H,P,and S for certain lesser used functions. F5, previously used by the
  269.    Half Duplex function to "Force to SENDING state", is now utilized to dis-
  270.    play a Function key help menu.  This menu gives a short description of
  271.    each Function, and ALT key used for special purposes.  This menu is also
  272.    displayed at the beginning of terminal operation.  Function key F7 is used
  273.    as an On/Off switch for the printer.  This function was resident in the
  274.    original IBM program with limited capabilities and was not documented or
  275.    enabled.  The program improvement allows for the printout of incoming data
  276.    as well as the keyboard input.  IBM had only used printout of keyboard data
  277.    in the Full Duplex mode.  (Use of the printer to make hardcopy of incoming
  278.    data substantially slows down the data transfer.  The preferred method is
  279.    to use a log file and print the data at a later time.) Use of F8 will be
  280.    explained in item #10. Use of F9 is explained in item #6, and use of F10
  281.    was described in item #7.  Use of Function Keys 1-4 and 6 remain the same
  282.    as decribed in the Async. manual.
  283.  
  284.    The ALT key used in conjunction with other keys also performs functions.
  285.    Use of the ALT key is performed by first depressing and holding the ALT key
  286.    and then depressing the associated key, then releasing both.  ALT H is used
  287.    to display a Telephone/LOG-ON help menu which describes use of the F8 key,
  288.    while ALT P is used to "Print maximum receive buffer used" as a diagnostic
  289.    aid.  This is another undocumented, unpublished feature of the Async.
  290.    program.  IBM originally used the F8 key for this purpose but did not have
  291.    this function enabled.  Additionally, in the 96K version the ALT S key is
  292.    used to "Force to SENDING state" for Half Duplex operation.  This was
  293.    an F5 function in the original IBM version.
  294.  
  295. 10)This program feature is certain to be one of the highlights of the new
  296.    program.  Through use of the F8 key, a user may call up a telephone dial-
  297.    ing menu.  If a Hayes Smartmodem is used for communications, he will be able
  298.    to select a telephone number associated with a service such as the SOURCE
  299.    or CompuServe, etc. have the number dialed by the computer/modem and then
  300.    proceed with the LOG-IN procedure by depressing the F8 key in response to
  301.    each request by the Host system.  Other keys are also used to facilitate
  302.    the operation.  For example, if it becomes necessary to re-do a particular
  303.    entry, the "cursor left" (or numeric 4) key is depressed once and then the
  304.    F8 key.  This repeats the last entry, or backs up one entry.  Depressing the
  305.    "cursor left" key twice before F8 will backup two previous entries, etc.
  306.    The "HOME" key is utilized to enable the F8 key at the beginning of the
  307.    sequence, or from the Telephone menu.  The "END" key is used to enable
  308.    the F8 key for the DISCONNECT function.  In otherwords, when you log off and
  309.    the telephone should be hung up, simply depress "END" then F8.  The screen
  310.    will display "DISCONNECTING" and after a short delay, "+++" will appear
  311.    followed by "ATH" and then a response from the Smartmodem of "OK".  The
  312.    phone will then be back on the hook! (Providing Smartmodem parameters are
  313.    factory settings.)
  314.  
  315.    There are several variables which you must supply in the program which
  316.    affect use of this function, and several different displays which appear
  317.    depending upon your selections.  (See programming notes for specifics.)
  318.    First, if you are not using a Smartmodem, you may still use the Telephone
  319.    menu and the subsequent LOG-ON procedure.  In this case, the telephone
  320.    menu selection does not dial the telephone but causes the correct LOG-ON to
  321.    be selected.  Next, you will be prompted to dial the telephone # manually
  322.    and then use F8 to LOG-ON.  One other option which creates a different
  323.    display is the adapting of only one telephone number in the program.
  324.    This eliminates the display of the selection menu and causes the one
  325.    telephone number adapted to be called when you first depress the F8 key.
  326.  
  327.    The format of the Telephone menu is as follows: Company to be dialed,
  328.    telephone #, City in which the telephone # is located, and the telephone
  329.    network being used.  It is recommend that you obtain several telephone
  330.    numbers for each company used, at least one for each network i.e. TYMNET
  331.    and TELENET, and if nothing else have the same telephone number adapted
  332.    with an alternate Sign-on procedure as listed in the SOURCE manual page
  333.    2-9.  A maximum of 9 numbers may be placed in the menu.  The programming
  334.    required for LOG-ON procedures is somewhat complicated but supports both
  335.    TYMNET and TELENET procedures, as well as CompuServe network and CompuServe
  336.    TYMNET entries. (See programming notes for details.)
  337.  
  338.    A list of telephone numbers for your area and service may be obtained as
  339.    follows:  The SOURCE --  type at command level >TYMTEL
  340.              CompuServe --  type at command level !GO CIS-4
  341.                             then menu item #8
  342.  
  343.    If you have a special application, contact me for information.
  344.  
  345. 11)The F2 key which is used for selection of the terminal function menu, may
  346.    be depressed at any time during terminal operation.  If data is being
  347.    received at the time, the possibility of a "receive buffer" overflow is
  348.    present.  It may be necessary to exit terminal operation, for example, to
  349.    select a new Upload or Download file.  To eliminate the possibility of data
  350.    loss, an XOFF is transmitted to the receiving computer if XON/XOFF is
  351.    being supported as well as an XON which is transmitted when returning to
  352.    terminal operation.  XON/XOFF is supported by many computer systems in-
  353.    cluding the SOURCE.  This control code is the same as is what is sent to
  354.    the Host computer when the CTRL S and CTRL Q are depressed to stop and
  355.    start the scrolling of the screen.
  356.  
  357. 12)The original IBM program allowed for error messages to be displayed at the
  358.    bottom left half of the screen.  First, you had to depress the F4 key to
  359.    enable the messages, and then most likely, you heard continuous beeping
  360.    from the machine.  Error messages displayed using F3 indicated "Received
  361.    Char. Parity Error."  The new program modification eliminates the check
  362.    for parity errors, but enables other error messages upon program startup.
  363.    Normally, "No Parity" would be selected for use with the SOURCE and other
  364.    like networks.  However, when "No Parity" is selected as a parameter in
  365.    this program, then 8 data bits are assumed.  Only 7 data bits are trans-
  366.    mitted, therefore, elimination of parity checking in that manner would
  367.    cause incorrect characters to be displayed on the screen.
  368.  
  369. 13)Error trapping routines have been added to the program to prevent a program
  370.    stop in event of a printer error.  Not every printer statement in the
  371.    program was protected by error trapping, since there are many, and the ones
  372.    most likely to be encountered have been protected, such as within t Full
  373.    Duplex transmit/receive loop.
  374.  
  375. 14)Item #3 under the Function Selection Menu (entered using F2 from terminal
  376.    operation) allows you to exit the communications program temporarily to
  377.    perform such tasks as listing the program, printing files, etc. and then
  378.    return to terminal operation, function selection menu by typing CONT and
  379.    "Enter".  This program modification allows use of the F5 "soft key" feature
  380.    to resume communications program operation.  Simply depress "F5" to resume
  381.    terminal operations in the function menu.
  382.  
  383. 15)Two more options have been added to the function selection menu as entered
  384.    from terminal operation using F2.  One option allows you to exit the com-
  385.    munications program permanently to the BASIC interpreter and the other
  386.    allows exit to DOS (which is useful when you need to print a log file just
  387.    received).  These routines are different from the original "Return to BASIC"
  388.    as provided by menu item #3.  Both routines close files, and insure that
  389.    the terminal interrupt handler no longer has control over the Communications
  390.    port.  This eliminates the potential problem of program hangup. Past ex-
  391.    perience has demonstrated that if this is not accomplished, the system may
  392.    sometimes need to be "powered down" to clear memory to eliminate a program
  393.    hangup.  This is more likely to happen when more than one communications
  394.    adapter port is physically installed in the system unit. This program
  395.    modification helps prevent this from occurring.
  396.  
  397.    When either of the exit routines are selected, you will first be asked if
  398.    you are "sure" you want to terminate the communications program.  If the
  399.    answer is "N" or no then the program returns to the function selection menu.
  400.    If the answer is "Y" or yes, then the communications program is terminated.
  401.    If DOS has been selected, you are instructed to insert a DOS diskette and
  402.    press any key when ready.
  403.  
  404. 16)Several preset parameters for Full Duplex operation have been changed from
  405.    the original settings.  First of all, Even parity is selected instead of
  406.    Mark.  Secondly, Characters are displayed when echoed by the Host computer
  407.    system. The first character to be deleted is the Carriage Return.  The
  408.    second character to be deleted is the Line feed and the third character
  409.    to be deleted is Escape.  All other parameters remain as originally set
  410.    by IBM.  (See program notes if other than the above settings are required).
  411.  
  412. This completes the Functional Description of Asynchronous Communications
  413. Support Program Modifications.  You should now have a basic understanding
  414. of the capabilities of the program.  Further questions about the operation
  415. of particular functions should be answered after using the Tutorial section
  416. of the documentation.
  417.  
  418. <* End of file *> 
  419.